﻿using System;
using PrearrangedChaos.AgileZen.Service.Model;

namespace PrearrangedChaos.AgileZen.Service
{
    public interface IZenProjectEnumerable : IZenResourceEnumerable<IProject>
    {
        IZenProjectEnumerable WithDetails { get; }
        IZenProjectEnumerable WithInvites { get; }
        IZenProjectEnumerable WithMembers { get; }
        IZenProjectEnumerable WithMetrics { get; }
        IZenProjectEnumerable WithPhases { get; }
        IZenProjectEnumerable WithRoles { get; }

        IZenResourceEnumerable<IProject> Filter(Func<IProjectFilter, ZenFilter> filter);
    }
}